Calcular índices de concavidad y perfiles longitudinales de cursos fluviales
Imprimir lista de mapas ráster y vectoriales dentro en la región/localización activa
execGRASS(
'g.list',
flags = 't',
parameters = list(
type = c('raster', 'vector')
)
)
## raster/LfpNetwork-flds-Oz
## raster/LfpNetwork-outlet-Oz
## raster/MASK
## raster/accum-de-rwshed
## raster/aspect
## raster/basins
## raster/dem
## raster/drainage-dir-de-rstr
## raster/drainage-dir-de-rwshed
## raster/half-basins
## raster/order-hack-gravelius
## raster/order-horton
## raster/order-shreve
## raster/order-strahler
## raster/order-topology
## raster/ozama-basin
## raster/ozama-stream-de-rstr
## raster/pcurv
## raster/r-stream-basins-1
## raster/r-stream-basins-2
## raster/r-stream-basins-3
## raster/r-stream-basins-4
## raster/r-stream-basins-5
## raster/r-stream-basins-6
## raster/r-stream-basins-7
## raster/slope
## raster/stream-de-rwshed
## raster/tcurv
## vector/LfpNetwork_lfp_all_final_ozm
## vector/LfpNetwork_lfp_all_final_ozm1
## vector/LfpNetwork_lfp_all_final_ozm3
## vector/LfpNetwork_lfp_all_final_ozm5
## vector/LfpNetwork_lfp_ozm
## vector/LfpNetwork_lfp_ozm1
## vector/LfpNetwork_lfp_ozm3
## vector/LfpNetwork_lfp_ozm5
## vector/LfpNetwork_outlet_Oz
## vector/LfpNetwork_tributaries_ozm
## vector/LfpNetwork_tributaries_ozm1
## vector/LfpNetwork_tributaries_ozm3
## vector/LfpNetwork_tributaries_ozm5
## vector/LfpNetwork_tributaries_preconf_ozm
## vector/LfpNetwork_tributaries_preconf_ozm1
## vector/LfpNetwork_tributaries_preconf_ozm3
## vector/LfpNetwork_tributaries_preconf_ozm5
## vector/c_ozama
## vector/dem_extent
## vector/order_all
## vector/ozama_basin
## vector/ozama_stream_de_rstr
## vector/r_stream_basins_1
## vector/r_stream_basins_2
## vector/r_stream_basins_3
## vector/r_stream_basins_4
## vector/r_stream_basins_5
## vector/r_stream_basins_6
## vector/r_stream_basins_7
Obtener coordenada
mapview(order, col.regions = 'blue', legend = FALSE)
Obtener cursos más largos (cargar función propia)
devtools::source_url('https://raw.githubusercontent.com/geofis/rgrass/master/lfp_network.R') #Cargada como función "LfpNetwork"
LfpNetwork(
xycoords = my_trans(c(-69.79820,18.60789)),
suffix = 'ozm3',
stream_vect = 'order_all',
direction = 'drainage-dir-de-rstr'
)
Imprimir lista de mapas ráster y vectoriales
execGRASS(
'g.list',
flags = 't',
parameters = list(
type = c('raster', 'vector')
)
)
## raster/LfpNetwork-flds-Oz
## raster/LfpNetwork-outlet-Oz
## raster/MASK
## raster/accum-de-rwshed
## raster/aspect
## raster/basins
## raster/dem
## raster/drainage-dir-de-rstr
## raster/drainage-dir-de-rwshed
## raster/half-basins
## raster/order-hack-gravelius
## raster/order-horton
## raster/order-shreve
## raster/order-strahler
## raster/order-topology
## raster/ozama-basin
## raster/ozama-stream-de-rstr
## raster/pcurv
## raster/r-stream-basins-1
## raster/r-stream-basins-2
## raster/r-stream-basins-3
## raster/r-stream-basins-4
## raster/r-stream-basins-5
## raster/r-stream-basins-6
## raster/r-stream-basins-7
## raster/slope
## raster/stream-de-rwshed
## raster/tcurv
## vector/LfpNetwork_lfp_all_final_ozm
## vector/LfpNetwork_lfp_all_final_ozm1
## vector/LfpNetwork_lfp_all_final_ozm3
## vector/LfpNetwork_lfp_all_final_ozm5
## vector/LfpNetwork_lfp_ozm
## vector/LfpNetwork_lfp_ozm1
## vector/LfpNetwork_lfp_ozm3
## vector/LfpNetwork_lfp_ozm5
## vector/LfpNetwork_outlet_Oz
## vector/LfpNetwork_tributaries_ozm
## vector/LfpNetwork_tributaries_ozm1
## vector/LfpNetwork_tributaries_ozm3
## vector/LfpNetwork_tributaries_ozm5
## vector/LfpNetwork_tributaries_preconf_ozm
## vector/LfpNetwork_tributaries_preconf_ozm1
## vector/LfpNetwork_tributaries_preconf_ozm3
## vector/LfpNetwork_tributaries_preconf_ozm5
## vector/c_ozama
## vector/dem_extent
## vector/order_all
## vector/ozama_basin
## vector/ozama_stream_de_rstr
## vector/r_stream_basins_1
## vector/r_stream_basins_2
## vector/r_stream_basins_3
## vector/r_stream_basins_4
## vector/r_stream_basins_5
## vector/r_stream_basins_6
## vector/r_stream_basins_7
Representar con leaflet
lfp <- readVECT('LfpNetwork_lfp_all_final_ozm3')
lfp4326 <- spTransform(lfp, CRSobj = CRS("+init=epsg:4326"))
lfp_con_id <- leaflet() %>%
addProviderTiles(providers$Stamen.Terrain, group = 'terrain') %>%
addPolylines(
data = lfp4326, weight = 3, opacity = 0.7, group = 'order',
label = ~as.character(cat),
highlightOptions = highlightOptions(color = "white",
weight = 5, bringToFront = F, opacity = 1),
labelOptions = labelOptions(noHide = T,
style = list(
"font-size" = "8px",
"background" = "rgba(255, 255, 255, 0.5)",
"background-clip" = "padding-box",
"padding" = "1px"))) %>%
leafem::addHomeButton(extent(lfp4326), 'Ver todo')
lfp_con_id
lfp_con_id %>% mapview::mapshot(file = 'lfp_con_id_salida.png')
Exportar a KML
execGRASS(
'v.out.ogr',
flags = c('overwrite','quiet'),
parameters = list(
input = 'LfpNetwork_lfp_all_final_ozm3',
output = 'lfp_ozm_kml.kml3',
format = 'KML',
dsco = 'NameField=cat'
)
)
Obtención de perfiles longitudinales e índices de concavidad
source('lfp_profiles_concavity.R') #Cargado como función "LfpProfilesConcavity"
ozama_conv_prof <- LfpProfilesConcavity(
xycoords = my_trans(c(-69.79820,18.60789)),
network = 'LfpNetwork_lfp_all_final_ozm3',
prefix = 'Oz',
dem = 'dem',
direction = 'drainage-dir-de-rstr',
crs = '+init=epsg:32619',
smns = 0.5,
nrow = 5)
Mostrar resultados
ozama_conv_prof$profiles

ozama_conv_prof$concavityindex
## stream ci
## 1 Oz-1 0.503543399
## 2 Oz-2 0.076696058
## 3 Oz-3 -0.172192920
## 4 Oz-4 0.113423470
## 5 Oz-5 0.279160051
## 6 Oz-6 -0.042920378
## 7 Oz-7 0.087870404
## 8 Oz-8 -0.002252731
## 9 Oz-9 0.334627457
## 10 Oz-10 0.096229510
## 11 Oz-11 0.350304676
## 12 Oz-12 0.381370085
## 13 Oz-13 -0.038475239
## 14 Oz-14 0.126557359
## 15 Oz-15 0.149267019
## 16 Oz-16 -0.105994110
## 17 Oz-17 0.422342707
ozama_conv_prof$dimensionlessprofiles$layers[[2]]$aes_params$size <- 2
ozama_conv_prof$dimensionlessprofiles$theme$text$size <- 12
ozama_conv_prof$dimensionlessprofiles

Tabla dx/dy, tanto en metros como adimensional. Útiles para construir perfiles por cuenta propia
ozama_conv_prof$lengthzdata %>% tibble::as.tibble()
## Warning: `as.tibble()` is deprecated, use `as_tibble()` (but mind the new semantics).
## This warning is displayed once per session.
## # A tibble: 1,014 x 4
## stream length z rowname
## <fct> <dbl> <dbl> <int>
## 1 Oz-1 0 8.20 1
## 2 Oz-1 89.1 8.19 2
## 3 Oz-1 126. 8.19 3
## 4 Oz-1 215. 8.18 4
## 5 Oz-1 304. 8.17 5
## 6 Oz-1 341. 8.16 6
## 7 Oz-1 430. 8.15 7
## 8 Oz-1 520. 8.14 8
## 9 Oz-1 609. 8.13 9
## 10 Oz-1 698. 8.13 10
## # … with 1,004 more rows
ozama_conv_prof$lengthzdatadmnls %>% tibble::as.tibble()
## # A tibble: 1,014 x 6
## stream length z rowname length.dmnls z.dmnls
## <fct> <dbl> <dbl> <int> <dbl> <dbl>
## 1 Oz-1 0 8.20 1 0 0.0418
## 2 Oz-1 89.1 8.19 2 0.00371 0.0416
## 3 Oz-1 126. 8.19 3 0.00525 0.0415
## 4 Oz-1 215. 8.18 4 0.00896 0.0413
## 5 Oz-1 304. 8.17 5 0.0127 0.0411
## 6 Oz-1 341. 8.16 6 0.0142 0.0410
## 7 Oz-1 430. 8.15 7 0.0179 0.0408
## 8 Oz-1 520. 8.14 8 0.0216 0.0406
## 9 Oz-1 609. 8.13 9 0.0254 0.0404
## 10 Oz-1 698. 8.13 10 0.0291 0.0402
## # … with 1,004 more rows
Limpiar archivo de bloqueo del conjunto de mapas de GRASS
unlink_.gislock()